package com.cDesarrollador.dao;

import java.util.List;

import org.hibernate.SessionFactory;

import com.cDesarrollador.model.Proveedor;

public class ProveedorDAO implements IProveedorDAO {
	
	 private SessionFactory sessionFactory;
	 
	    /**
	     * Get Hibernate Session Factory
	     *
	     * @return SessionFactory - Hibernate Session Factory
	     */
	    public SessionFactory getSessionFactory() {
	        return sessionFactory;
	    }
	 
	    /**
	     * Set Hibernate Session Factory
	     *
	     * @param SessionFactory - Hibernate Session Factory
	     */
	    public void setSessionFactory(SessionFactory sessionFactory) {
	        this.sessionFactory = sessionFactory;
	    }
	 
	    /**
	     * Add Proveedor
	     *
	     * @param  Proveedor Proveedor
	     */

	    
	    /**
	     * Add Proveedor
	     *
	     * @param  Proveedor Proveedor
	     */
	   
	    public void addProveedor(Proveedor Proveedor) {
	        getSessionFactory().getCurrentSession().save(Proveedor);
	    }
	 
	    /**
	     * Delete Proveedor
	     *
	     * @param  Proveedor Proveedor
	     */
	 
	    public void deleteProveedor(Proveedor Proveedor) {
	        getSessionFactory().getCurrentSession().delete(Proveedor);
	    }
	 
	    /**
	     * Update Proveedor
	     *
	     * @param  Proveedor Proveedor
	     */
	   
	    public void updateProveedor(Proveedor Proveedor) {
	        getSessionFactory().getCurrentSession().update(Proveedor);
	    }
	 
	    /**
	     * Get Proveedor
	     *
	     * @param  int Proveedor Id
	     * @return Proveedor
	     */
	   
	    public Proveedor getProveedorById(int id) {
	        List list = getSessionFactory().getCurrentSession()
	                                            .createQuery("from Proveedor where id=?")
	                                            .setParameter(0, id).list();
	        return (Proveedor)list.get(0);
	    }
	 
	    /**
	     * Get Proveedor List
	     *
	     * @return List - Proveedor list
	     */
	   
	    public List<Proveedor> getProveedors() {
	        List list = getSessionFactory().getCurrentSession().createQuery("from Proveedor").list();
	        return list;
	    }
}
